/**
 * 使用 组合式方式来定义 store
 */

import { ref, computed } from 'vue'
import { defineStore } from 'pinia'

export const useYyStore = defineStore('yy', () => {
  // 组合式定义，在这里可以使用 组合式API 来创建数据

  // 类似 state 选项
  const name = ref('张三')
  const age = ref(18)

  // 类似 getters 选项，可以使用 computed
  const firstName = computed(() => name.value.split('')[0])

  // 类似 actions 选项，直接定义函数即可
  const changeName = (payload) => {
    name.value = payload
  }
  const changeAge = (payload) => {
    age.value = payload
  }

  // 最后，记得 return
  return {
    name,
    age,
    firstName,
    changeName,
    changeAge,
  }
})
